10 TEXT : HOME : VTAB 12: IF PEEK(769) < >25 THEN PRINT "YOU MUST FIRST LOAD": PRINT "THE CONTROLLER AND": PRINT "THEN RE-RUN THIS PROGRAM.": END
20 HOME : PRINT : PRINT "THIS PROGRAM IS DESIGNED TO ASSIST YOU IN ALTERING YOUR COMPUTER'S 'CTRL' KEYS SO THAT ANY TIME YOU TYPE ONE OF FIVE"
30 PRINT "KEYS OF YOUR CHOICE, THE COMPUTER WILL TYPE OUT THE COMMAND ASSIGNED TO IT.": PRINT
40 PRINT "REMEMBER THAT NO MATTER WHEN YOU TYPE A CONTROLLER COMMAND THE COMPUTER WILL ACTAS IF YOU HAD TYPED THE COMMAND YOURSELFSTARTING AT THE BEGINNING OF A LINE."
50 PRINT : PRINT "TO ENTER A COMMA OR A COLON, TYPE THEM SHIFTED. EXAMPLE: , = < AND : = *": PRINT
60 HTAB 8: PRINT "TYPE ANY KEY TO BEGIN.": WAIT -16384,128: POKE -16368,0: POKE 34,6: HOME : PRINT
70 PRINT "#"L +1" CONTROL COMMAND ";: INPUT CM$(L): IF CM$(L) = "" THEN PRINT : PRINT "I'M STILL WAITING." CHR$(7): PRINT : GOTO 70
80 IF LEN(CM$(L)) >14 THEN PRINT : PRINT "COMMAND TOO LONG." CHR$(7): PRINT : GOTO 70
90 FOR A = LEN(CM$(L)) TO 14:CM$(L) = CM$(L) +" ": NEXT
100 PRINT "#"L +1" CONTROL KEY ";: INPUT CK$(L): IF CK$(L) = "" THEN PRINT : PRINT "CUT THAT OUT." CHR$(7): PRINT : GOTO 100
110 IF LEN(CK$(L)) >1 THEN PRINT : PRINT "ONE LETTER ONLY." CHR$(7): PRINT : GOTO 100
120 IT = ASC(CK$(L)): IF IT <65 OR IT >90 OR IT = 66 OR IT = 67 OR IT = 77 OR IT = 88 OR IT = 85 OR IT = 72 OR IT = 71 OR IT = 74 OR IT = 83 OR IT = 68 THEN PRINT : PRINT "RESERVED KEY." CHR$(7): PRINT : GOTO 70
130 PRINT : IF L <4 THEN L = L +1: GOTO 70
140 HOME : PRINT : FOR L = 0 TO 4: PRINT "#"L +1" COMMAND -> "CM$(L)" KEY -> "CK$(L): NEXT
150 PRINT : PRINT "IS THIS CORRECT (Y/N) ? ";
160 CALL -756:IT = PEEK( -16384): IF IT < >89 AND IT < >78 THEN 160
170 PRINT CHR$(IT): IF IT = 78 THEN RUN
180 MN = 0: IF PEEK(769) = 25 THEN MN = 23808
190 VTAB 15: PRINT : PRINT "WORKING...";:L = 0: FOR P = 24605 -MN TO 24621 -MN STEP 4: POKE P, ASC(CK$(L)) +64:L = L +1: NEXT
200 FOR L = 0 TO 4:DT$ = DT$ +CM$(L): NEXT L: FOR L = 24679 -MN TO 24752 -MN: POKE L, ASC( MID$ (DT$,L -(24678 -MN),1)) +128: NEXT
210 FOR L = 24679 -MN TO 24752 -MN: IF PEEK(L) = 188 THEN POKE L,172
220 IF PEEK(L) = 170 THEN POKE L,186
230 NEXT : POKE 34,0: PRINT "DONE!": IF PEEK(769) = 25 THEN CALL 768: END